#include <iostream>


long long Get(long long n,  long long p) {
    if (n == 1) {
        return 1;
    }

    return (n % p * Get(n-1, p)) % p;
}

/**
 * N！取模
 */
int main() {
    long long n;
    std::cin >> n;

    if (n == 0) {
        std::cout << 1;
        return 0;
    }

    long long d = 1000000007;

    std::cout << Get(n, d);    


    return 0;
}